package com.yanfan.zutai.controller;// package com.ruoyi.ghxx.controller;
//
// import cn.hutool.core.date.DateUtil;
// import com.alibaba.fastjson2.JSON;
// import com.alibaba.fastjson2.JSONObject;
// import com.github.pagehelper.PageHelper;
// import com.ruoyi.common.annotation.Anonymous;
// import com.ruoyi.common.core.domain.AjaxResult;
// import com.ruoyi.common.core.domain.entity.SysUser;
// import com.ruoyi.common.core.domain.model.LoginUser;
// import com.ruoyi.common.core.page.PageDomain;
// import com.ruoyi.common.core.page.TableSupport;
// import com.ruoyi.common.core.redis.RedisCache;
// import com.ruoyi.common.core.text.Convert;
// import com.ruoyi.common.utils.SecurityUtils;
// import com.ruoyi.common.utils.StringUtils;
// import com.ruoyi.common.utils.sql.SqlUtil;
// import com.ruoyi.framework.security.annotation.IgnoreUserToken;
// import com.ruoyi.framework.web.service.TokenService;
// import com.ruoyi.ghxx.aop.SysQueryData;
// import com.ruoyi.ghxx.config.MyMqttClient;
// import com.ruoyi.ghxx.cpeVo.BDeviceEmqx;
// import com.ruoyi.ghxx.cpeVo.BDeviceEmqxList;
// import com.ruoyi.ghxx.domain.*;
// import com.ruoyi.ghxx.mapper.BDeviceZtMapper;
// import com.ruoyi.ghxx.modelVo.BDeviceMonitorVo;
// import com.ruoyi.ghxx.modelVo.BDeviceTypeVo;
// import com.ruoyi.ghxx.modelVo.BDeviceWarnData;
// import com.ruoyi.ghxx.modelVo.BDeviceWarnVO;
// import com.ruoyi.ghxx.service.*;
// import com.ruoyi.ghxx.util.DateUtilLocal;
// import com.ruoyi.ghxx.util.Detect;
// import com.ruoyi.ghxx.util.HttpPostAndGetUtil;
// import com.ruoyi.ghxx.vo.BDeviceParam;
// import com.ruoyi.ghxx.vo.BDeviceToken;
// import com.ruoyi.system.domain.SysConfig;
// import com.ruoyi.system.mapper.SysUserMapper;
// import com.ruoyi.system.service.ISysConfigService;
// import com.ruoyi.system.service.ISysUserService;
// import org.apache.http.NameValuePair;
// import org.apache.http.message.BasicNameValuePair;
// import org.eclipse.paho.client.mqttv3.MqttClient;
// import org.springframework.beans.factory.annotation.Autowired;
// import org.springframework.dao.EmptyResultDataAccessException;
// import org.springframework.data.redis.core.RedisTemplate;
// import org.springframework.jdbc.core.BeanPropertyRowMapper;
// import org.springframework.jdbc.core.JdbcTemplate;
// import org.springframework.security.access.prepost.PreAuthorize;
// import org.springframework.security.core.userdetails.UserDetailsService;
// import org.springframework.stereotype.Controller;
// import org.springframework.web.bind.annotation.*;
//
// import javax.servlet.http.HttpServletRequest;
// import java.util.*;
//
//
///**
// * @author cl
// */
//@RestController
//@RequestMapping(value = "/ignoreToken")
//@Anonymous
// public class BDeviceBigDataController {
//
//    @Autowired
//    private IBDeviceManagerService bDeviceManagerService;
//    @Autowired
//    private JdbcTemplate jdbcTemplate;
//    @Autowired
//    private IBDeviceWarnService bDeviceWarnService;
//    @Autowired
//    private UserDetailsService userDetailsService;
//    @Autowired
//    private TokenService tokenService;
//    @Autowired
//    public RedisTemplate redisTemplate;
//    @Autowired
//    private ISysConfigService configService;
//    @Autowired
//    private BDeviceZtMapper bDeviceZtMapper;
//    /**
//     * 获取设备管理详细信息，-2已过期，-1没有设置有效期，0以上的值表示是这个key的剩余有效时间
//     */
//    @GetMapping(value = "/getTokenByImei")
//    public AjaxResult getTokenByImei(BDeviceToken bDeviceToken) {
//        String token="";
//        BDeviceZt bDeviceZt=new BDeviceZt();
//        bDeviceZt.setGuid(bDeviceToken.getZtGuid());
//        List<BDeviceZt> bDeviceZts = bDeviceZtMapper.selectBDeviceZtList(bDeviceZt);
//        if(Detect.isEmpty(bDeviceToken.getToken())){
//            if(bDeviceZts.size()>0){
//                bDeviceZt=bDeviceZts.get(0);
//                String deptIdStrs=bDeviceZt.getDeptIdStrs();
//                String[] split = deptIdStrs.split(",");
//                List<Long> integerList=new ArrayList<>();
//                for (int i = 0; i < split.length; i++) {
//                    if(Convert.toInt(split[i])!=null){
//                        integerList.add(Convert.toLong(split[i]));
//                    }
//                }
//                Long deptId = Collections.max(integerList);
//                String sql="select * from sys_user where status=0 and dept_id=? and del_flag !='2'limit 1";
//                BeanPropertyRowMapper<SysUser> userBeanPropertyRowMapper = new BeanPropertyRowMapper<>(SysUser.class);
//                try {
//                    SysUser sysUser = jdbcTemplate.queryForObject(sql, userBeanPropertyRowMapper, deptId);
//                    LoginUser loginUser=(LoginUser) userDetailsService.loadUserByUsername(sysUser.getUserName());
//                    token = tokenService.createToken(loginUser);
//                }catch (EmptyResultDataAccessException e){
//                    System.out.println("无用户信息");
//                }
//            }
//        }else{
//            LoginUser loginUser = tokenService.getLoginUserBytoken(bDeviceToken.getToken());
//            //登录会话过期了，获取设备所属用户的token
//            if(loginUser==null){
//                if(bDeviceZts.size()>0){
//                    bDeviceZt=bDeviceZts.get(0);
//                    String deptIdStrs=bDeviceZt.getDeptIdStrs();
//                    String[] split = deptIdStrs.split(",");
//                    List<Long> integerList=new ArrayList<>();
//                    for (int i = 0; i < split.length; i++) {
//                        if(Convert.toInt(split[i])!=null){
//                            integerList.add(Convert.toLong(split[i]));
//                        }
//                    }
//                    Long deptId = Collections.max(integerList);
//                    String sql="select * from sys_user where status=0 and dept_id=? and del_flag !='2' limit 1";
//                    BeanPropertyRowMapper<SysUser> userBeanPropertyRowMapper = new BeanPropertyRowMapper<>(SysUser.class);
//                    try {
//                        SysUser sysUser = jdbcTemplate.queryForObject(sql, userBeanPropertyRowMapper, deptId);
//                        loginUser=(LoginUser) userDetailsService.loadUserByUsername(sysUser.getUserName());
//                        token = tokenService.createToken(loginUser);
//                    }catch (EmptyResultDataAccessException e){
//                        System.out.println("无用户信息");
//                    }
//                }
//            }else{
//                tokenService.verifyToken(loginUser);
//                token=bDeviceToken.getToken();
//            }
//        }
//        if(Detect.notEmpty(token)){
//            return AjaxResult.success("token获取成功",token);
//        }else{
//            return AjaxResult.error("token获取失败");
//        }
//    }
//    @GetMapping(value = "/getAppUrl")
//    public AjaxResult getAppUrl() throws Exception{
//        String app_upload = configService.selectConfigByKey("APP_UPLOAD");
//        return AjaxResult.success(app_upload);
//    }
//    @GetMapping(value = "/getAppVersion")
//    public AjaxResult getAppVersion() throws Exception{
//        SysConfig sysConfig=new SysConfig();
//        sysConfig.setConfigKey("APP_UPLOAD");
//        List<SysConfig> sysConfigs = configService.selectConfigList(sysConfig);
//        if(sysConfigs.size()>0){
//            sysConfig=sysConfigs.get(0);
//        }
//        return AjaxResult.success(sysConfig);
//    }
//    /**
//     * 自定义地图数据
//     */
//    @GetMapping("/getMapJson")
//    public AjaxResult getMapJson(String url) throws Exception {
//        String mapJson = HttpPostAndGetUtil.httpsDoGet(url);
//        return AjaxResult.success(mapJson);
//    }
//}
